#include "MaterialShared.h"
#include "Runtime/Rendering/Shader.h"

namespace Alice
{
    bool MaterialShared::CacheShaders()
    {
        BeginCacheShaders();
        return true;
    }
    void MaterialShared::BeginCacheShaders()
    {
        BeginCompileShaderMap();
    }
    bool MaterialShared::BeginCompileShaderMap()
    {
        FMaterialShaderMap*materialShaderMap=new FMaterialShaderMap();
        materialShaderMap->Compile(this);
        SetGameThreadShaderMap(materialShaderMap);
        return true;
    }
    void MaterialShared::SetGameThreadShaderMap(FMaterialShaderMap* inShaderMap)
    {
        mGameThreadMaterialShaderMap=inShaderMap;
        mRenderThreadMaterialShaderMap=inShaderMap;
    }
    MaterialSharedResource::MaterialSharedResource(Material* inMaterial, MaterialInstance* inMaterialInstance)
    {
        
    }

}